Software applications running on computer systems implement graphical user interfaces to facilitate the man-machine interface by making the software easier to use. One particular aspect of a graphical user interface (GUI) is the use of buttons, which are graphical elements or objects displayed to the user that can be “clicked” on with a pointing device (e.g., a mouse) or otherwise selected in order to initiate an action. Often the action or operation initiated by selecting a button or making a selection from a pull-down menu results in the additional display of information or requires user interaction outside the window or screen in which the initiating action or operation commenced. For example, clicking on a “Delete” button in a window of a software GUI may result in a popup window being displayed requesting the user confirm or cancel the delete operation. Though these popup windows may serve a useful purpose, they also obscure the underlying data and cause the user to move a pointing device to the window or otherwise select options on the popup window to complete the operation. Another problem is that a popup window may lose focus and be displayed behind the initiating screen cause further hindrance to the user especially if the initiating window becomes inactive until the popup window interaction is complete.
One example of a graphical user interface is the user interface for a search engine administration software application. FIG. 1 is a diagram illustrating a conventional graphical user interface for a search engine administration software tool. The search engine consists of several servers, such as queue servers, index servers, preprocessors, and name servers, running in a distributed environment. New documents are passed to the search engine from a queue in the queue server. The queue server first passes the documents to a preprocessor for preprocessing. The queue server then transfers the documents to an index server where they are indexed and optimized, after which they become visible in a new or already existing index. After the documents are included in an index, they can then be searched.
The graphical user interface 100 for the search engine administration software application may present information in a table view format using tabs 101 to separate functions. In the example shown in FIG. 1, the Queue Administration tab 102 is the selected function. Within the Queue Administration tab 102 a number of operations are made available to the user through on-screen buttons 103. These buttons may initiate operations such as flushing the selected queues 110 in the Queue Info tab 104 (associated with the “Flush” button 106), suspend the selected queues 110 (associated with the “Suspend” button 107), activate the selected queues (“Activate” button 108), etc.
When a user selects a button 103 on the screen, a popup window may appear with a confirmation request to determine if the user really wants to execute the initiating operation (the selected operation and/or button initiating the confirmation popup window). FIG. 2 is a diagram illustrating a conventional popup confirmation window for a delete operation. In the example shown in FIG. 2, a user clicking on a “Delete” button 109 causes a popup window 210 to be displayed asking the user 211 to confirm that he/she indeed wants to delete the selected queues 110. The popup window 210 contains two buttons “OK” 212 and “Cancel” 213 allowing the user to choose one of those options. In order to respond to the popup window, the user is forced to move the cursor a considerable distance from the Delete button 109 to either the OK button 212 or the Cancel button 213. Even though users may be used to moving the cursor to popup windows in conventional software application GUIs, improvements to this system are desirable methods of improving the man-machine interface. Alternatively, the user may also use the “Enter”, “Return”, or “” keys (not shown) in conjunction with the “Tab” key (not shown) to selected the highlighted popup window button. This requires the user to move from the mouse or other pointing device to a keyboard and is also cumbersome. Additionally, the popup window may obscure the underlying data which may be needed by the user to make the confirmation in the popup window. The present invention overcomes these problems through a novel method of enhanced context-sensitive buttons.